5,236 research outputs found
Collection analysis for Horn clause programs
We consider approximating data structures with collections of the items that
they contain. For examples, lists, binary trees, tuples, etc, can be
approximated by sets or multisets of the items within them. Such approximations
can be used to provide partial correctness properties of logic programs. For
example, one might wish to specify than whenever the atom is proved
then the two lists and contain the same multiset of items (that is,
is a permutation of ). If sorting removes duplicates, then one would like to
infer that the sets of items underlying and are the same. Such results
could be useful to have if they can be determined statically and automatically.
We present a scheme by which such collection analysis can be structured and
automated. Central to this scheme is the use of linear logic as a omputational
logic underlying the logic of Horn clauses
Proof Outlines as Proof Certificates: A System Description
We apply the foundational proof certificate (FPC) framework to the problem of
designing high-level outlines of proofs. The FPC framework provides a means to
formally define and check a wide range of proof evidence. A focused proof
system is central to this framework and such a proof system provides an
interesting approach to proof reconstruction during the process of proof
checking (relying on an underlying logic programming implementation). Here, we
illustrate how the FPC framework can be used to design proof outlines and then
to exploit proof checkers as a means for expanding outlines into fully detailed
proofs. In order to validate this approach to proof outlines, we have built the
ACheck system that allows us to take a sequence of theorems and apply the proof
outline "do the obvious induction and close the proof using previously proved
lemmas".Comment: In Proceedings WoF'15, arXiv:1511.0252
Focusing and Polarization in Intuitionistic Logic
A focused proof system provides a normal form to cut-free proofs that
structures the application of invertible and non-invertible inference rules.
The focused proof system of Andreoli for linear logic has been applied to both
the proof search and the proof normalization approaches to computation. Various
proof systems in literature exhibit characteristics of focusing to one degree
or another. We present a new, focused proof system for intuitionistic logic,
called LJF, and show how other proof systems can be mapped into the new system
by inserting logical connectives that prematurely stop focusing. We also use
LJF to design a focused proof system for classical logic. Our approach to the
design and analysis of these systems is based on the completeness of focusing
in linear logic and on the notion of polarity that appears in Girard's LC and
LU proof systems
A framework for proof certificates in finite state exploration
Model checkers use automated state exploration in order to prove various
properties such as reachability, non-reachability, and bisimulation over state
transition systems. While model checkers have proved valuable for locating
errors in computer models and specifications, they can also be used to prove
properties that might be consumed by other computational logic systems, such as
theorem provers. In such a situation, a prover must be able to trust that the
model checker is correct. Instead of attempting to prove the correctness of a
model checker, we ask that it outputs its "proof evidence" as a formally
defined document--a proof certificate--and that this document is checked by a
trusted proof checker. We describe a framework for defining and checking proof
certificates for a range of model checking problems. The core of this framework
is a (focused) proof system that is augmented with premises that involve "clerk
and expert" predicates. This framework is designed so that soundness can be
guaranteed independently of any concerns for the correctness of the clerk and
expert specifications. To illustrate the flexibility of this framework, we
define and formally check proof certificates for reachability and
non-reachability in graphs, as well as bisimulation and non-bisimulation for
labeled transition systems. Finally, we describe briefly a reference checker
that we have implemented for this framework.Comment: In Proceedings PxTP 2015, arXiv:1507.0837
Introduction
The introduction (about 6,000 words) to _The Cambridge Companion to Utilitarianism_, in three sections: utilitarianism’s place in recent and contemporary moral philosophy (including the opinions of critics such as Rawls and Scanlon), a brief history of the view (again, including the opinions of critics, such as Marx and Nietzsche), and an overview of the chapters of the book
Nominal Abstraction
Recursive relational specifications are commonly used to describe the
computational structure of formal systems. Recent research in proof theory has
identified two features that facilitate direct, logic-based reasoning about
such descriptions: the interpretation of atomic judgments through recursive
definitions and an encoding of binding constructs via generic judgments.
However, logics encompassing these two features do not currently allow for the
definition of relations that embody dynamic aspects related to binding, a
capability needed in many reasoning tasks. We propose a new relation between
terms called nominal abstraction as a means for overcoming this deficiency. We
incorporate nominal abstraction into a rich logic also including definitions,
generic quantification, induction, and co-induction that we then prove to be
consistent. We present examples to show that this logic can provide elegant
treatments of binding contexts that appear in many proofs, such as those
establishing properties of typing calculi and of arbitrarily cascading
substitutions that play a role in reducibility arguments.Comment: To appear in the Journal of Information and Computatio
Structured general corecursion and coinductive graphs [extended abstract]
Bove and Capretta's popular method for justifying function definitions by
general recursive equations is based on the observation that any structured
general recursion equation defines an inductive subset of the intended domain
(the "domain of definedness") for which the equation has a unique solution. To
accept the definition, it is hence enough to prove that this subset contains
the whole intended domain.
This approach works very well for "terminating" definitions. But it fails to
account for "productive" definitions, such as typical definitions of
stream-valued functions. We argue that such definitions can be treated in a
similar spirit, proceeding from a different unique solvability criterion. Any
structured recursive equation defines a coinductive relation between the
intended domain and intended codomain (the "coinductive graph"). This relation
in turn determines a subset of the intended domain and a quotient of the
intended codomain with the property that the equation is uniquely solved for
the subset and quotient. The equation is therefore guaranteed to have a unique
solution for the intended domain and intended codomain whenever the subset is
the full set and the quotient is by equality.Comment: In Proceedings FICS 2012, arXiv:1202.317
Formalizing Operational Semantic Specifications in Logic
AbstractWe review links between three logic formalisms and three approaches to specifying operational semantics. In particular, we show that specifications written with (small-step and big-step) SOS, abstract machines, and multiset rewriting, are closely related to Horn clauses, binary clauses, and (a subset of) linear logic, respectively. We shall illustrate how binary clauses form a bridge between the other two logical formalisms. For example, using a continuation-passing style transformation, Horn clauses can be transformed into binary clauses. Furthermore, binary clauses can be seen as a degenerative form of multiset rewriting: placing binary clauses within linear logic allows for rich forms of multiset rewriting which, in turn, provides a modular, big-step SOS specifications of imperative and concurrency primitives. Establishing these links between logic and operational semantics has many advantages for operational semantics: tools from automated deduction can be used to animate semantic specifications; solutions to the treatment of binding structures in logic can be used to provide solutions to binding in the syntax of programs; and the declarative nature of logical specifications provides broad avenues for reasoning about semantic specifications
- …